﻿#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

//请计算⼀下Func1中++count语句总共执⾏了多少次？
//void Func1(int N)
//{
//	int count = 0;
//	for (int i = 0; i < N; ++i)
//	{
//		for (int j = 0; j < N; ++j)
//		{
//			++count;
//		}
//	}
//	for (int k = 0; k < 2 * N; ++k)
//	{
//		++count;
//	}
//	int M = 10;
//	while (M--)
//	{
//		++count;
//	}
//}

////计算Func2的时间复杂度？ 
//void Func2(int N)
//{
//	int count = 0;
//	for (int k = 0; k < 2 * N; ++k)
//	{
//		++count;
//	}
//	int M = 10;
//	while (M--)
//	{
//		++count;
//	}
//	printf("%d\n", count);
//}
//
//// 计算strchr的时间复杂度？
//
//const char* strchr(const char
//	* str, int character)
//{
//	const char* p_begin = str;
//	while (*p_begin != character)
//	{
//		if (*p_begin == '\0')
//			return NULL;
//		p_begin++;
//	}
//	return p_begin;
//}

//// 计算Func4的时间复杂度？
//
//void Func4(int N)
//{
//	int count = 0;
//	for (int k = 0; k < 100; ++k)
//	{
//		++count;
//	}
//	printf("%d\n", count);
//}

//void func5(int n)
//{
//    int cnt = 1;
//    while (cnt < n)
//    {
//        cnt *= 2;
//    }
//}

////计算BubbleSort的时间复杂度？
//void BubbleSort(int* a, int n)
//{
//	assert(a);
//	for (size_t end = n; end > 0; --end)
//	{
//		int exchange = 0;
//		for (size_t i = 1; i < end; ++i)
//		{
//			if (a[i - 1] > a[i])
//			{
//				Swap(&a[i - 1], &a[i]);
//				exchange = 1;
//			}
//		}
//		if (exchange == 0)
//			break;
//	}

//计算阶乘递归Fac的空间复杂度？

long long Fac(size_t N)
{
	if (N == 0)
		return 1;
	return Fac(N - 1) * N;
}